﻿namespace _01_For循环删除集合元素
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Console.Title = "For循环删除集合中的元素";

            List<string> list = new List<string>() { "red", null, "green", "blue", "blue", "gray", "yellow", "white", "orange" };

            //for (int i = 0; i < list.Count; i++)//集合长度发生变化 移除会漏元素
            //{
            //    if ("blue".Equals(list[i]))//避免null调用Equals方法
            //    {
            //        list.RemoveAt(i);
            //    }
            //}

            for (int i = list.Count - 1; i >= 0; i--)//从后往前删除
            {
                if ("blue".Equals(list[i]))//避免null调用Equals方法
                {
                    list.RemoveAt(i);
                }
            }

            list.ForEach(str => Console.WriteLine(str));

            Console.ReadKey();
        }
    }
}
